home *** CD-ROM | disk | FTP | other *** search
/ Micromanía: 150 Juegos 2010 / 150Juegos_16.iso / Shareware / Shape Smash / shape-smash.swf / scripts / Box2D / Dynamics / _gj519.as < prev    next >
Encoding:
Text File  |  2010-05-14  |  7.0 KB  |  223 lines

  1. package Box2D.Dynamics
  2. {
  3.    import Box2D.Collision.Shapes._hx306;
  4.    import Box2D.Collision._cc280;
  5.    import Box2D.Collision._kn203;
  6.    import Box2D.Collision._lh680;
  7.    import Box2D.Collision._lv495;
  8.    import Box2D.Common.Math.b2Vec2;
  9.    import Box2D.Dynamics.Contacts._nb823;
  10.    import Box2D.Dynamics.Contacts._rl61;
  11.    
  12.    public class _gj519 extends _lv495
  13.    {
  14.       private static const s_evalCP:_lh680 = new _lh680();
  15.       
  16.       public var m_world:_fp437;
  17.       
  18.       public var m_destroyImmediate:Boolean;
  19.       
  20.       public var m_nullContact:_rl61;
  21.       
  22.       public function _gj519()
  23.       {
  24.          m_nullContact = new _rl61();
  25.          super();
  26.          m_world = null;
  27.          m_destroyImmediate = false;
  28.       }
  29.       
  30.       override public function _na764(param1:*, param2:*) : *
  31.       {
  32.          var _loc3_:_hx306 = null;
  33.          var _loc4_:_hx306 = null;
  34.          var _loc5_:_th791 = null;
  35.          var _loc6_:_th791 = null;
  36.          var _loc7_:_nb823 = null;
  37.          _loc3_ = param1 as _hx306;
  38.          _loc4_ = param2 as _hx306;
  39.          _loc5_ = _loc3_.m_body;
  40.          _loc6_ = _loc4_.m_body;
  41.          if(_loc5_._ur192() && _loc6_._ur192())
  42.          {
  43.             return m_nullContact;
  44.          }
  45.          if(_loc3_.m_body == _loc4_.m_body)
  46.          {
  47.             return m_nullContact;
  48.          }
  49.          if(_loc6_._bd186(_loc5_))
  50.          {
  51.             return m_nullContact;
  52.          }
  53.          if(m_world.m_contactFilter != null && m_world.m_contactFilter._uv302(_loc3_,_loc4_) == false)
  54.          {
  55.             return m_nullContact;
  56.          }
  57.          _loc7_ = _nb823._em71(_loc3_,_loc4_,m_world.m_blockAllocator);
  58.          if(_loc7_ == null)
  59.          {
  60.             return m_nullContact;
  61.          }
  62.          _loc3_ = _loc7_.m_shape1;
  63.          _loc4_ = _loc7_.m_shape2;
  64.          _loc5_ = _loc3_.m_body;
  65.          _loc6_ = _loc4_.m_body;
  66.          _loc7_.m_prev = null;
  67.          _loc7_.m_next = m_world.m_contactList;
  68.          if(m_world.m_contactList != null)
  69.          {
  70.             m_world.m_contactList.m_prev = _loc7_;
  71.          }
  72.          m_world.m_contactList = _loc7_;
  73.          _loc7_.m_node1.contact = _loc7_;
  74.          _loc7_.m_node1.other = _loc6_;
  75.          _loc7_.m_node1.prev = null;
  76.          _loc7_.m_node1.next = _loc5_.m_contactList;
  77.          if(_loc5_.m_contactList != null)
  78.          {
  79.             _loc5_.m_contactList.prev = _loc7_.m_node1;
  80.          }
  81.          _loc5_.m_contactList = _loc7_.m_node1;
  82.          _loc7_.m_node2.contact = _loc7_;
  83.          _loc7_.m_node2.other = _loc5_;
  84.          _loc7_.m_node2.prev = null;
  85.          _loc7_.m_node2.next = _loc6_.m_contactList;
  86.          if(_loc6_.m_contactList != null)
  87.          {
  88.             _loc6_.m_contactList.prev = _loc7_.m_node2;
  89.          }
  90.          _loc6_.m_contactList = _loc7_.m_node2;
  91.          ++m_world.m_contactCount;
  92.          return _loc7_;
  93.       }
  94.       
  95.       override public function _tf499(param1:*, param2:*, param3:*) : void
  96.       {
  97.          var _loc4_:_nb823 = null;
  98.          if(param3 == null)
  99.          {
  100.             return;
  101.          }
  102.          _loc4_ = param3 as _nb823;
  103.          if(_loc4_ == m_nullContact)
  104.          {
  105.             return;
  106.          }
  107.          _ai321(_loc4_);
  108.       }
  109.       
  110.       public function _ai321(param1:_nb823) : void
  111.       {
  112.          var _loc2_:_hx306 = null;
  113.          var _loc3_:_hx306 = null;
  114.          var _loc4_:int = 0;
  115.          var _loc5_:_th791 = null;
  116.          var _loc6_:_th791 = null;
  117.          var _loc7_:_th791 = null;
  118.          var _loc8_:_th791 = null;
  119.          var _loc9_:Array = null;
  120.          var _loc10_:_lh680 = null;
  121.          var _loc11_:int = 0;
  122.          var _loc12_:_kn203 = null;
  123.          var _loc13_:int = 0;
  124.          var _loc14_:_cc280 = null;
  125.          var _loc15_:b2Vec2 = null;
  126.          var _loc16_:b2Vec2 = null;
  127.          _loc2_ = param1.m_shape1;
  128.          _loc3_ = param1.m_shape2;
  129.          _loc4_ = param1.m_manifoldCount;
  130.          if(_loc4_ > 0 && Boolean(m_world.m_contactListener))
  131.          {
  132.             _loc7_ = _loc2_.m_body;
  133.             _loc8_ = _loc3_.m_body;
  134.             _loc9_ = param1._sg202();
  135.             _loc10_ = s_evalCP;
  136.             _loc10_.shape1 = param1.m_shape1;
  137.             _loc10_.shape2 = param1.m_shape2;
  138.             _loc10_.friction = param1.m_friction;
  139.             _loc10_.restitution = param1.m_restitution;
  140.             _loc11_ = 0;
  141.             while(_loc11_ < _loc4_)
  142.             {
  143.                _loc12_ = _loc9_[_loc11_];
  144.                _loc10_.normal._kh737(_loc12_.normal);
  145.                _loc13_ = 0;
  146.                while(_loc13_ < _loc12_.pointCount)
  147.                {
  148.                   _loc14_ = _loc12_.points[_loc13_];
  149.                   _loc10_.position = _loc7_._pj447(_loc14_.localPoint1);
  150.                   _loc15_ = _loc7_._hg747(_loc14_.localPoint1);
  151.                   _loc16_ = _loc8_._hg747(_loc14_.localPoint2);
  152.                   _loc10_.velocity._br741(_loc16_.x - _loc15_.x,_loc16_.y - _loc15_.y);
  153.                   _loc10_.separation = _loc14_.separation;
  154.                   _loc10_.id._aw644 = _loc14_.id._key;
  155.                   m_world.m_contactListener._ai707(_loc10_);
  156.                   _loc13_++;
  157.                }
  158.                _loc11_++;
  159.             }
  160.          }
  161.          if(param1.m_prev)
  162.          {
  163.             param1.m_prev.m_next = param1.m_next;
  164.          }
  165.          if(param1.m_next)
  166.          {
  167.             param1.m_next.m_prev = param1.m_prev;
  168.          }
  169.          if(param1 == m_world.m_contactList)
  170.          {
  171.             m_world.m_contactList = param1.m_next;
  172.          }
  173.          _loc5_ = _loc2_.m_body;
  174.          _loc6_ = _loc3_.m_body;
  175.          if(param1.m_node1.prev)
  176.          {
  177.             param1.m_node1.prev.next = param1.m_node1.next;
  178.          }
  179.          if(param1.m_node1.next)
  180.          {
  181.             param1.m_node1.next.prev = param1.m_node1.prev;
  182.          }
  183.          if(param1.m_node1 == _loc5_.m_contactList)
  184.          {
  185.             _loc5_.m_contactList = param1.m_node1.next;
  186.          }
  187.          if(param1.m_node2.prev)
  188.          {
  189.             param1.m_node2.prev.next = param1.m_node2.next;
  190.          }
  191.          if(param1.m_node2.next)
  192.          {
  193.             param1.m_node2.next.prev = param1.m_node2.prev;
  194.          }
  195.          if(param1.m_node2 == _loc6_.m_contactList)
  196.          {
  197.             _loc6_.m_contactList = param1.m_node2.next;
  198.          }
  199.          _nb823._ai321(param1,m_world.m_blockAllocator);
  200.          --m_world.m_contactCount;
  201.       }
  202.       
  203.       public function _yo98() : void
  204.       {
  205.          var _loc1_:_nb823 = null;
  206.          var _loc2_:_th791 = null;
  207.          var _loc3_:_th791 = null;
  208.          _loc1_ = m_world.m_contactList;
  209.          while(_loc1_)
  210.          {
  211.             _loc2_ = _loc1_.m_shape1.m_body;
  212.             _loc3_ = _loc1_.m_shape2.m_body;
  213.             if(!(_loc2_._bk718() && _loc3_._bk718()))
  214.             {
  215.                _loc1_._ne371(m_world.m_contactListener);
  216.             }
  217.             _loc1_ = _loc1_.m_next;
  218.          }
  219.       }
  220.    }
  221. }
  222.  
  223.